package justbuy.goods.model;

import java.sql.Timestamp;

import justbuy.account.model.Employee;
import justbuy.account.model.Seller;
import justbuy.base.model.Brand;
import justbuy.item.model.Category;

import org.ironrhino.core.model.BaseEntity;
import org.ironrhino.core.model.Ordered;

public class Goods extends BaseEntity implements Ordered {

	private String title; // 商品标题
	private String detail; // 商品详情
	private Brand brand; // 品牌
	private String brandModel; // 型号
	private Long weight; // 重量
	private Integer price; // 市场参考单价，单位为分
	private Category category; // 类目叶子节点类目
	private String tag; // 商品标签id串,以空格分隔
	private Integer state; // 状态，0-上架，1-下架，2待审核 ，8审核不通过, 9删除
	private Timestamp createTime; // 创建时间,精确到秒
	private Timestamp modifyTime; // 修改时间,精确到秒
	private Timestamp approveTime; // 审核时间,精确到秒,注意审核成功和失败都要记
	private Employee approver; // 审核人
	private Seller seller; // 发布此标准商品的经销商
	private Integer priceBegin; // 价格区间从什么价格开始，单位为分
	private Integer priceEnd; // 价格区间到什么价格结束，单位为分
	private Integer sellCount; // 销售数量
	private String keyPropertyDefine; // {categoryId :类目Id,value :[关键属性值 数组],selectedIndex:[是否被选中数组,选中为1,未选中 为0]}
	private String specDefine; // {categoryId :类目Id,value :[SKU属性值 数组 ],selectedIndex:[是否被选中数组,,选中为1,未选中为0]}
	private String property; // [{categoryId:类目Id,level:类目层级,propertyIndex :属性索引,propValueIndex:属性值的索引,propertyValue:属性值}]
	private String origin; // 商品产地json串{provinceId:省Id,provinceName:省名称,cityId:市Id,cityName:市名称}
	private String failedCause; // 审核不通过的原因
	private Integer goodsRange; // 产品的经营范围,三位代表产品范围,111:百位代表是名牌，十位代表百货，个位代表卖场
	private Employee createUser; // 商品创建者
	private Employee modifyUser; // 商品修改者
	private Boolean forbidden; // 是否屏蔽,0-不屏蔽 1-屏蔽
	private Timestamp upTime; // 上架时间,精确到秒,注意审核成功和失败都要记
	private Employee saleman; // 上架人
	private Timestamp downTime; // 下架时间,精确到秒,注意审核成功和失败都要记
	private Employee downman; // 下架人
	
	@Override
	public int compareTo(Object o) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int getDisplayOrder() {
		// TODO Auto-generated method stub
		return 0;
	}

}
